markdown
Union-Find の基本
lecture/information/algorithm/data-structures/Union-Find の基本-講義.n.md

Union-Find の基本きほん

date2026-03-27descriptionUnion-Find を、要素がどの連結成分に属するかを素早く管理するデータ構造として整理します。prerequisites木とヒープの基本 / グラフの基本 / 計算量の基本type講義statusactiverelateddata/lecture/information/algorithm/data-structures/データ構造ポータル-講義.n.md / data/lecture/information/algorithm/graph/グラフアルゴリズムポータル-講義.n.md
algorithmdata-structuresundergraduatelecture

導入どうにゅう

この講義こうぎ最重要さいじゅうようなのは、Union-Find は「この 2 つがつながっているか」を毎回まいかいグラフ全体ぜんたいから調しらべるのではなく、ぞくしている集合しゅうごう代表元だいひょうげん管理かんりする構造こうぞうだということです。

へんを 1 ぽんずつしていく問題もんだいでは、そのたびに DFS や BFS をまわすとおもいことがあります。Union-Find は、連結れんけつしている仲間なかまをまとめてつことで、その判定はんていかるくします。

用語ようご定義ていぎ

Union-FindDisjoint-set union とは、たがいにまじわらない集合しゅうごう分割ぶんかつ管理かんりする構造こうぞうです。

代表元だいひょうげんRepresentative とは、ある集合しゅうごう代表だいひょうする要素ようそです。

方針ほうしん

まず各要素かくようそがどの集合しゅうごうぞくするかを、おやをたどって代表元だいひょうげん辿たどかたちちます。そのあと、2 つの集合しゅうごう結合けつごうするときは代表元だいひょうげんどうしをつなぎます。

直感的ちょっかんてき説明せつめい

生徒せいとをいくつかのはんけていて、「A さんと B さんはおなはんか」をすぐりたいとします。班長はんちょうを 1 にん めておけば、「A さんの班長はんちょうと B さんの班長はんちょうおなじか」をればみます。Union-Find はこれを計算機けいさんきおこな道具どうぐです。

厳密げんみつ説明せつめい

1. find

ある要素ようそ代表元だいひょうげんさが操作そうさです。

2. union

2 つの要素ようそぞくする集合しゅうごうを 1 つにまとめる操作そうさです。

3. 使つかいどころ

へん順番じゅんばんしながら連結性れんけつせい管理かんりする問題もんだいやくちます。

見分みわかた

  • 「つながっているか」だけを何度なんどうなら、Union-Find をうたがいます。
  • 最短路さいたんろそのものをもとめる問題もんだいには、そのままではきません。

最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")]find=代表元を探す
[PARSE ERROR: Undefined("Command(\"boxed\")")]union=集合を結合する

一言ひとことでいうと

  • Union-Find は、連結成分れんけつせいぶん代表元だいひょうげん管理かんりして、「つながっているか」をかる判定はんていする構造こうぞうです。
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
path をコピー
copy share link
copy share link
タブを全て閉じる